// - - - - - - - - - - - - - -
// LANGUAGES - EXTENSION BASED
// - - - - - - - - - - - - - -

// DEFAULT ICON
.icon-file-binary, .icon-file-pdf, .icon-file-text, .icon-book, .icon-file-media, .icon-markdown, .title {
  .icon('default', @white);
}

// 1C:Enterprise
.icon-set('.bsl', 'bsl', @red);
.icon-set('.mdo', 'mdo', @red);

// Assembly
.icon-set('.asm', 'asm', @red);
.icon-set('.s', 'asm', @red);

// C
.icon-set('.c', 'c', @blue);
.icon-set('.h', 'c', @purple);
.icon-set('.m', 'c', @yellow);

// C♯
.icon-set('.cs', 'c-sharp', @blue);

// C++
.icon-set('.cc', 'cpp', @blue);
.icon-set('.cpp', 'cpp', @blue);
.icon-set('.cxx', 'cpp', @blue);
.icon-set('.c++', 'cpp', @blue);
.icon-set('.hh', 'cpp', @purple);
.icon-set('.hpp', 'cpp', @purple);
.icon-set('.hxx', 'cpp', @purple);
.icon-set('.h++', 'cpp', @purple);

// COLDFUSION
.icon-set('.cfc', 'coldfusion', @blue);
.icon-set('.cfm', 'coldfusion', @blue);

// COFFEESCRIPT
.icon-set('.coffee', 'coffee', @yellow);

// CONFIG
.icon-set('.config', 'config', @grey-light);
.icon-set('.cfg', 'config', @grey-light);
.icon-set('.conf', 'config', @grey-light);

// CSON
.icon-set('.cson', 'json', @yellow);

// CSS
.icon-set('.css', 'css', @blue);
.icon-set('.css.map', 'css', @blue);
.icon-set('.sss', 'css', @blue);

// CSV
.icon-set('.csv', 'csv', @green);
.icon-set('.xls', 'xls', @green);
.icon-set('.xlsx', 'xls', @green);

// CAKE
.icon-set('.cake', 'cake', @red);
.icon-set('.ctp', 'cake_php', @red);

// D
.icon-set('.d', 'd', @red);

// DOC
.icon-set('.doc', 'word', @blue);
.icon-set('.docx', 'word', @blue);

// EJS
.icon-set('.ejs', 'ejs', @yellow);

// ELIXIR
.icon-set('.ex', 'elixir', @purple);
.icon-set('.exs', 'elixir_script', @purple);
.icon-partial('mix', 'hex', @red);

// ELM
.icon-set('.elm', 'elm', @blue);

// FAVICON
.icon-set('.ico', 'favicon', @yellow);

// F#
.icon-set('.fs', 'f-sharp', @blue);
.icon-set('.fsx', 'f-sharp', @blue);

// GITIGNORE
.icon-set('.gitignore', 'git', @ignore);
.icon-set('.gitconfig', 'git', @ignore);
.icon-set('.gitkeep', 'git', @ignore);
.icon-set('.gitattributes', 'git', @ignore);
.icon-set('.gitmodules', 'git', @ignore);

// GO
.icon-set('.go', 'go2', @blue);
.icon-set('.slide', 'go', @blue);
.icon-set('.article', 'go', @blue);

// GRADLE
.icon-set('.gradle', 'gradle', @green);

// GRAILS
.icon-set('.groovy', 'grails', @green);
.icon-set('.gsp', 'grails', @green);

// HAML
.icon-set('.haml', 'haml', @red);

// HANDLEBARS
.icon-set('.handlebars', 'mustache', @orange);
.icon-set('.hbs', 'mustache', @orange);
.icon-set('.hjs', 'mustache', @orange);

// HASKELL
.icon-set('.hs', 'haskell', @purple);
.icon-set('.lhs', 'haskell', @purple);

// HTML
.icon-set('.html', 'html', @orange);

// JADE
.icon-set('.jade', 'jade', @red);

// JAVA
.icon-set('.java', 'java', @red);
.icon-set('.class', 'java', @red);
.icon-set('.classpath', 'java', @red);
.icon-set('.properties', 'java', @red);

// JAVASCRIPT
.icon-set('.js', 'javascript', @yellow);
.icon-set('.js.map', 'javascript', @yellow);
.icon-set('.spec.js', 'javascript', @orange);
.icon-set('.es', 'javascript', @yellow);
.icon-set('.es5', 'javascript', @yellow);
.icon-set('.es6', 'javascript', @yellow);
.icon-set('.es7', 'javascript', @yellow);

// JINJA
.icon-set('.jinja', 'jinja', @red);
.icon-set('.jinja2', 'jinja', @red);

// JSON
.icon-set('.json', 'json', @yellow);

// JULIA
.icon-set('.jl', 'julia', @purple);

// KARMA
.icon-set('karma.conf.js', 'karma', @green);
.icon-set('karma.conf.coffee', 'karma', @green);

// LESS
.icon-set('.less', 'less', @blue);

// LIQUID
.icon-set('.liquid', 'liquid', @green);

// LIVESCRIPT
.icon-set('.ls', 'livescript', @blue);

// LUA
.icon-set('.lua', 'lua', @blue);

// MARKDOWN
.icon-set('.markdown', 'markdown', @blue);
.icon-set('.md', 'markdown', @blue);

// README
.icon-set('README.md', 'info', @blue);

// CHANGELOG
.icon-set('CHANGELOG.md', 'clock', @blue);
.icon-set('CHANGELOG', 'clock', @blue);
.icon-set('VERSION.md', 'clock', @blue);
.icon-set('VERSION', 'clock', @blue);

// MAVEN
.icon-set('mvnw', 'maven', @red);

// MUSTACHE
.icon-set('.mustache', 'mustache', @orange);
.icon-set('.stache', 'mustache', @orange);

// NPM
.icon-set('.njk', 'nunjucks', @green);
.icon-set('.nunjucks', 'nunjucks', @green);
.icon-set('.nunjs', 'nunjucks', @green);
.icon-set('.nunj', 'nunjucks', @green);
.icon-set('.njs', 'nunjucks', @green);
.icon-set('.nj', 'nunjucks', @green);

// NPM
.icon-set('.npm-debug.log', 'npm', @ignore);
.icon-set('.npmignore', 'npm', @red);
.icon-set('.npmrc', 'npm', @red);

// OCAML
.icon-set('.ml', 'ocaml', @orange);
.icon-set('.mli', 'ocaml', @orange);
.icon-set('.cmx', 'ocaml', @orange);
.icon-set('.cmxa', 'ocaml', @orange);

// PERL
.icon-set('.pl', 'perl', @blue);

// PHP
.icon-set('.php', 'php', @purple);
.icon-set('.php.inc', 'php', @purple);

// POWERSHELL
.icon-set('.ps1', 'powershell', @blue);
.icon-set('.psd1', 'powershell', @blue);
.icon-set('.psm1', 'powershell', @blue);

// PUG
.icon-set('.pug', 'pug', @red);

// PUPPET .pp
.icon-set('.pp', 'puppet', @yellow);
.icon-set('.epp', 'puppet', @yellow);

// PYTHON
.icon-set('.py', 'python', @blue);

// REACT
.icon-set('.jsx', 'react', @blue);
.icon-set('.cjsx', 'react', @blue);
.icon-set('.tsx', 'react', @blue);

// RUBY
.icon-set('.rb', 'ruby', @red);
.icon-set('.erb', 'ruby', @red);
.icon-set('.erb.html', 'ruby', @red);
.icon-set('.html.erb', 'ruby', @red);

// RUST
.icon-set('.rs', 'rust', @grey-light);

// SASS
.icon-set('.sass', 'sass', @pink);
.icon-set('.scss', 'sass', @pink);

// SPRING
.icon-set('.springBeans', 'spring', @green);

// SLIM
.icon-set('.slim', 'slim', @orange);

// SMARTY
.icon-set('.smarty.tpl', 'smarty', @yellow);

// SBT
.icon-set('.sbt', 'sbt', @blue);

// SCALA
.icon-set('.scala', 'scala', @red);

// STYLUS
.icon-set('.styl', 'stylus', @green);

// SWIFT
.icon-set('.swift', 'swift', @orange);

// SQL
.icon-set('.sql', 'db', @pink);

// TERRAFORM
.icon-set('.tf', 'terraform', @purple);
.icon-set('.tf.json', 'terraform', @purple);

// TEX
.icon-set('.tex', 'tex', @blue);
.icon-set('.sty', 'tex', @yellow);
.icon-set('.dtx', 'tex', @orange);
.icon-set('.ins', 'tex', @white);

// TEXT
.icon-set('.txt', 'default', @white);

// TOML
.icon-set('.toml', 'config', @grey-light);

// TWIG
.icon-set('.twig', 'twig', @green);

// TYPESCRIPT
.icon-set('.ts', 'typescript', @blue);

// VALA
.icon-set('.vala', 'vala', @grey-light);
.icon-set('.vapi', 'vala', @grey-light);

// VUE
.icon-set('.vue', 'vue', @green);

// XML
.icon-set('.xml', 'xml', @orange);

// YML
.icon-set('.yml', 'yml', @purple);
.icon-set('.yaml', 'yml', @purple);


// - - - - - - - - - - - - - - - - - - -
//  GENERIC FILE TYPES - EXTENSION BASED
// - - - - - - - - - - - - - - - - - - -

// ARCHIVES
.icon-set('.jar', 'zip', @red);
.icon-set('.zip', 'zip', @grey-light);

// ADOBE FILE
.icon-set('.ai', 'illustrator', @yellow);
.icon-set('.psd', 'photoshop', @blue);
.icon-set('.pdf', 'pdf', @red);

// FONT FILES
.icon-set('.eot', 'font', @red);
.icon-set('.ttf', 'font', @red);
.icon-set('.woff', 'font', @red);
.icon-set('.woff2', 'font', @red);

// IMAGE FILES
.icon-set('.gif', 'image', @purple);
.icon-set('.jpg', 'image', @purple);
.icon-set('.jpeg', 'image', @purple);
.icon-set('.png', 'image', @purple);
.icon-set('.pxm', 'image', @purple);
.icon-set('.svg', 'svg', @purple);
.icon-set('.svgx', 'image', @purple);

// SUBLIME
.icon-set('.sublime-project', 'sublime', @orange);
.icon-set('.sublime-workspace', 'sublime', @orange);

// SALESFORCE
.icon-set('.component', 'salesforce', @blue);
.icon-set('.cls', 'salesforce', @blue);

// SHELL
.icon-set('.sh', 'shell', @grey);
.icon-set('.zsh', 'shell', @grey);
.icon-set('.fish', 'shell', @grey);
.icon-set('.zshrc', 'shell', @grey);
.icon-set('.bashrc', 'shell', @grey);

// VIDEO FILES
.icon-set('.mov', 'video', @pink);
.icon-set('.ogv', 'video', @pink);
.icon-set('.webm', 'video', @pink);
.icon-set('.avi', 'video', @pink);
.icon-set('.mpg', 'video', @pink);
.icon-set('.mp4', 'video', @pink);

// AUDIO FILES
.icon-set('.mp3', 'audio', @purple);
.icon-set('.ogg', 'audio', @purple);
.icon-set('.wav', 'audio', @purple);

// WINDOWS
.icon-set('.bat', 'windows', @blue);
.icon-set('.cmd', 'windows', @blue);

// - - - - - - - - -
//  NAME BASED ICONS
// - - - - - - - - -

// APACHE
.icon-set('mime.types', 'config', @grey-light);

// CI
.icon-set('Jenkinsfile', 'jenkins', @red);

// BABEL
.icon-set('.babelrc', 'babel', @yellow);

// BOWER
.icon-set('bower.json', 'bower', @orange);
.icon-set('Bower.json', 'bower', @orange);
.icon-set('.bowerrc', 'bower', @orange);

// BOWER
.icon-partial('dockerfile', 'docker', @blue);
.icon-partial('Dockerfile', 'docker', @blue);
.icon-partial('DOCKERFILE', 'docker', @blue);
.icon-partial('.dockerignore', 'docker', @grey);
.icon-partial('docker-healthcheck', 'docker', @green);
.icon-partial('docker-compose.yml', 'docker', @pink);


// BABEL
.icon-set('.codeclimate.yml', 'code-climate', @green);

// ESLINT
.icon-set('.eslintrc', 'eslint', @purple);
.icon-set('.eslintrc.js', 'eslint', @purple);
.icon-set('.eslintrc.yaml', 'eslint', @purple);
.icon-set('.eslintrc.yml', 'eslint', @purple);
.icon-set('.eslintrc.json', 'eslint', @purple);
.icon-set('.eslintignore', 'eslint', @grey);

// FIREBASE
.icon-set('.firebaserc', 'firebase', @orange);
.icon-set('firebase.json', 'firebase', @orange);

// GECKODRIVER
.icon-set('geckodriver', 'firefox', @orange);


// GRUNT
.icon-set('Gruntfile.js', 'grunt', @orange);
.icon-set('gruntfile.babel.js', 'grunt', @orange);
.icon-set('Gruntfile.babel.js', 'grunt', @orange);
.icon-set('gruntfile.js', 'grunt', @orange);
.icon-set('Gruntfile.coffee', 'grunt', @orange);
.icon-set('gruntfile.coffee', 'grunt', @orange);

// GULP
.icon-partial('GULPFILE', 'gulp', @red);
.icon-partial('Gulpfile', 'gulp', @red);
.icon-partial('gulpfile', 'gulp', @red);

// IONIC
.icon-set('ionic.config.json', 'ionic', @blue);
.icon-set('Ionic.config.json', 'ionic', @blue);
.icon-set('ionic.project', 'ionic', @blue);
.icon-set('Ionic.project', 'ionic', @blue);

// JSHINT
.icon-set('.jshintrc', 'javascript', @blue);
.icon-set('.jscsrc', 'javascript', @blue);

// ROLLUP
.icon-set('rollup.config.js', 'rollup', @red);

// SASS LINT
.icon-set('sass-lint.yml', 'sass', @pink);

// YARN
.icon-set('yarn.clean', 'yarn', @blue);
.icon-set('yarn.lock', 'yarn', @blue);



// MISC SETTING
.icon-set('.direnv', 'config', @grey-light);
.icon-set('.env', 'config', @grey-light);
.icon-set('.static', 'config', @grey-light);
.icon-set('.editorconfig', 'config', @grey-light);
.icon-set('.slugignore', 'config', @grey-light);
.icon-set('.tmp', 'clock', @grey-light);
.icon-set('.htaccess', 'config', @grey-light);
.icon-set('.key', 'lock', @green);
.icon-set('.cert', 'lock', @green);

// LICENSE FILES
.icon-partial('LICENSE', 'license', @yellow);
.icon-partial('LICENCE', 'license', @yellow);
.icon-partial('COPYING', 'license', @yellow);
.icon-partial('COMPILING', 'license', @orange);
.icon-partial('CONTRIBUTING', 'license', @red);

// MAKEFILES
.icon-partial('MAKEFILE', 'makefile', @orange);
.icon-partial('Makefile', 'makefile', @orange);
.icon-partial('makefile', 'makefile', @orange);
.icon-partial('QMAKEFILE', 'makefile', @purple);
.icon-partial('QMakefile', 'makefile', @purple);
.icon-partial('qmakefile', 'makefile', @purple);
.icon-partial('OMAKEFILE', 'makefile', @grey-light);
.icon-partial('OMakefile', 'makefile', @grey-light);
.icon-partial('omakefile', 'makefile', @grey-light);
.icon-partial('CMAKELISTS.TXT', 'makefile', @blue);
.icon-partial('CMAKELISTS.txt', 'makefile', @blue);
.icon-partial('CMakeLists.txt', 'makefile', @blue);
.icon-partial('cmakelists.txt', 'makefile', @blue);

// PROCFILE
.icon-partial('Procfile', 'heroku', @purple);

// TODO
.icon-partial('TODO', 'todo', @seti-primary);

// - - - - - - -
// IGNORED FILES
// - - - - - - -

.icon-set('npm-debug.log', 'npm_ignored', @ignore);
.icon-set('.DS_Store', 'ignored', @ignore);
